package org.tri.gui.worker;

import java.util.concurrent.ExecutionException;

/**
 * La interfaz {@code TransientListener} es utilizada por los objetos que desean
 * recibir eventos generados por un {@code TransientWorker}.
 * @author kiira
 * @version 1.0, Feb 6, 2012
 */
public interface TransientListener {
    /**
     * Este método/evento es llamado cuando el worker terminó de realizar las
     * acciones necesarias para la eliminación del objeto que le correspondia.
     * Incluso si ocurrió un error durante la eliminación, este evento es 
     * lanzado de todas maneras, ya que puede que el worker realize tareas
     * extra luego del error.
     */
    public void doneTransit();
    
    /**
     * Este método/evento es llamado cuando el worker recurrió a un error
     * mientras estaba realizando las tareas para la eliminación del objeto
     * que le correspondia.
     * @param ex excepción generada por el error.
     */
    public void errorTransit( ExecutionException ex );

}//end interface TransientListeners